package com.otitan.la.forest.system.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 行政区划表
 *
 * @author jiacs
 * @email xxx
 * @date 2020-10-13 14:46:25
 */
@Data
@TableName("\"SYS_AREA_HISTORY\"")
@ApiModel("行政区划表实体")
public class AreaHistoryEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
    * ID
    */
    @ApiModelProperty(value = "ID", required = false)
    @TableId("\"ID\"")
    private String id;

    /**
    * 地区名称
    */
    @ApiModelProperty(value = "地区名称", required = false)
    // @NotEmpty(message = "地区名称不能为空")
    // @Length(max = 64, message = "地区名称不能超过 64 个字符")
    @TableField("\"AREA_NAME\"")
    private String areaName;

    /**
    * 地区编码
    */
    @ApiModelProperty(value = "地区编码", required = false)
    // @NotEmpty(message = "地区编码不能为空")
    // @Length(max = 36, message = "地区编码不能超过 36 个字符")
    @TableField("\"AREA_CODE\"")
    private String areaCode;

    /**
    * 排序
    */
    @ApiModelProperty(value = "排序", required = false)
    // @NotEmpty(message = "排序不能为空")
    // @Length(max = 22, message = "排序不能超过 22 个字符")
    @TableField("\"ORDER_NO\"")
    private Integer orderNo;

    /**
    * 等级
    */
    @ApiModelProperty(value = "等级", required = false)
    // @NotEmpty(message = "等级不能为空")
    // @Length(max = 22, message = "等级不能超过 22 个字符")
    @TableField("\"GRADE\"")
    private Integer grade;

    /**
    * 生效日期
    */
    @ApiModelProperty(value = "生效日期", required = false)
    // @NotEmpty(message = "生效日期不能为空")
    // @Length(max = 11, message = "生效日期不能超过 11 个字符")
    @TableField("\"EFFECT_DATE\"")
    private Date effectDate;

    /**
    * 失效日期
    */
    @ApiModelProperty(value = "失效日期", required = false)
    // @NotEmpty(message = "失效日期不能为空")
    // @Length(max = 11, message = "失效日期不能超过 11 个字符")
    @TableField("\"UNEFFECT_DATE\"")
    private Date uneffectDate;


    /**
     * 上级地区编码
     */
    @ApiModelProperty(value = "上级地区编码", required = false)
    // @NotEmpty(message = "上级地区编码不能为空")
    // @Length(max = 36, message = "上级地区编码不能超过 36 个字符")
    @TableField("\"PARENT_AREA_CODE\"")
    private String parentAreaCode;

    /**
     * 行政区划ID
     */
    @ApiModelProperty(value = "行政区划ID", required = false)
    // @NotEmpty(message = "行政区划ID不能为空")
    // @Length(max = 32, message = "行政区划ID不能超过 32 个字符")
    @TableField("\"AREA_ID\"")
    private String areaId;


    /**
    * 是否删除
    */
    @ApiModelProperty(value = "是否删除", required = false)
    @TableField(value = "\"IS_DELETE\"", fill = FieldFill.INSERT)
    @TableLogic  //逻辑删除注解
    @JsonIgnore  //忽略
    private Integer isDelete;

    /**
    * 创建用户
    */
    @ApiModelProperty(value = "创建用户", required = false)
    @TableField(value = "\"CREATE_USER\"", fill = FieldFill.INSERT)
    private String createUser;

    /**
    * 创建时间
    */
    @ApiModelProperty(value = "创建时间", required = false)
    @TableField(value = "\"CREATE_DATE\"", fill = FieldFill.INSERT)
    private Date createDate;


    /**
     * 编辑用户
     */
    @ApiModelProperty(value = "编辑用户", required = false)
    @TableField(value = "\"UPDATE_USER\"", fill = FieldFill.INSERT_UPDATE)
    private String updateUser;

    /**
     * 编辑时间
     */
    @ApiModelProperty(value = "编辑时间", required = false)
    @TableField(value = "\"UPDATE_DATE\"", fill = FieldFill.INSERT_UPDATE)
    private Date updateDate;

}
